package com.example.badyloans.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
    * 用户资金账户表
    */
@ApiModel(value="com-example-badyloans-pojo-TUserWallet")
public class TUserWallet implements Serializable {
    /**
    * 账户id
    */
    @ApiModelProperty(value="账户id")
    private String accountId;

    /**
    * 可用金额(单位：分)
    */
    @ApiModelProperty(value="可用金额(单位：分)")
    private Long availableAmount;

    /**
    * 冻结金额(单位：分)
    */
    @ApiModelProperty(value="冻结金额(单位：分)")
    private Long freezeAmount;

    /**
    * 待收利息(单位：分)
    */
    @ApiModelProperty(value="待收利息(单位：分)")
    private Long interestPending;

    /**
    * 待收本金(单位：分)
    */
    @ApiModelProperty(value="待收本金(单位：分)")
    private Long principalPending;

    /**
    * 待还金额(单位：分)
    */
    @ApiModelProperty(value="待还金额(单位：分)")
    private Long repaidAmount;

    /**
    * 信用得分
    */
    @ApiModelProperty(value="信用得分")
    private Integer creditScore;

    /**
    * 授信额度(单位：分)
    */
    @ApiModelProperty(value="授信额度(单位：分)")
    private Long creditLine;

    /**
    * 剩余授信额度(单位：分)
    */
    @ApiModelProperty(value="剩余授信额度(单位：分)")
    private Long residualCreditLine;

    /**
    * 创建时间
    */
    @ApiModelProperty(value="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    private static final long serialVersionUID = 1L;

    public String getAccountId() {
        return accountId;
    }

    public void setAccountId(String accountId) {
        this.accountId = accountId;
    }

    public Long getAvailableAmount() {
        return availableAmount;
    }

    public void setAvailableAmount(Long availableAmount) {
        this.availableAmount = availableAmount;
    }

    public Long getFreezeAmount() {
        return freezeAmount;
    }

    public void setFreezeAmount(Long freezeAmount) {
        this.freezeAmount = freezeAmount;
    }

    public Long getInterestPending() {
        return interestPending;
    }

    public void setInterestPending(Long interestPending) {
        this.interestPending = interestPending;
    }

    public Long getPrincipalPending() {
        return principalPending;
    }

    public void setPrincipalPending(Long principalPending) {
        this.principalPending = principalPending;
    }

    public Long getRepaidAmount() {
        return repaidAmount;
    }

    public void setRepaidAmount(Long repaidAmount) {
        this.repaidAmount = repaidAmount;
    }

    public Integer getCreditScore() {
        return creditScore;
    }

    public void setCreditScore(Integer creditScore) {
        this.creditScore = creditScore;
    }

    public Long getCreditLine() {
        return creditLine;
    }

    public void setCreditLine(Long creditLine) {
        this.creditLine = creditLine;
    }

    public Long getResidualCreditLine() {
        return residualCreditLine;
    }

    public void setResidualCreditLine(Long residualCreditLine) {
        this.residualCreditLine = residualCreditLine;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", accountId=").append(accountId);
        sb.append(", availableAmount=").append(availableAmount);
        sb.append(", freezeAmount=").append(freezeAmount);
        sb.append(", interestPending=").append(interestPending);
        sb.append(", principalPending=").append(principalPending);
        sb.append(", repaidAmount=").append(repaidAmount);
        sb.append(", creditScore=").append(creditScore);
        sb.append(", creditLine=").append(creditLine);
        sb.append(", residualCreditLine=").append(residualCreditLine);
        sb.append(", createTime=").append(createTime);
        sb.append("]");
        return sb.toString();
    }
}